import os
import shutil
import time


def copy_files_with_interval(src_folder, dest_folder, interval_seconds):
    """
    按照一定时间间隔将 src_folder 中的所有文件复制到 dest_folder。

    :param src_folder: 源文件夹路径
    :param dest_folder: 目标文件夹路径
    :param interval_seconds: 文件复制间隔时间，单位为秒
    """
    # 确保目标文件夹存在
    if not os.path.exists(dest_folder):
        os.makedirs(dest_folder)

    # 获取源文件夹中的所有文件
    files = os.listdir(src_folder)

    # 遍历所有文件并复制
    for file_name in files:
        src_file_path = os.path.join(src_folder, file_name)

        # 检查是否为文件而不是文件夹
        if os.path.isfile(src_file_path):
            dest_file_path = os.path.join(dest_folder, file_name)

            try:
                # 复制文件
                shutil.copy(src_file_path, dest_file_path)
                print(f"已复制: {file_name} 到 {dest_folder}")

                # 等待指定的时间间隔
                time.sleep(interval_seconds)
            except Exception as e:
                print(f"复制文件 {file_name} 失败: {e}")
        else:
            print(f"跳过文件夹: {file_name}")


if __name__ == "__main__":
    # 设置源文件夹和目标文件夹路径
    source_folder = "D:/test/py_test_path"  # 替换为实际路径
    destination_folder = "D:/test/py_test_path1"  # 替换为实际路径

    # 设置时间间隔，单位为秒
    interval = 0.05  # 每 5 秒复制一个文件

    # 调用函数开始复制文件
    copy_files_with_interval(source_folder, destination_folder, interval)
